package com.example.springbooteasycode.utils.tablepdf;

import org.apache.poi.xwpf.usermodel.*;

import java.io.FileOutputStream;
import java.io.IOException;

public class Demo {
    public static void main(String[] args) throws IOException{
        XWPFDocument document = new XWPFDocument();

        // 设置问卷基础信息表格
        questionnaireInfoTableToDocument(document);

        // 输出到文件
        try (FileOutputStream out = new FileOutputStream("/Users/boykchen/Desktop/demo.docx")) {
            document.write(out);
        }

    }

    private static void questionnaireInfoTableToDocument(XWPFDocument document) {
        // 实现问卷基础信息表格的创建
        XWPFTable table = document.createTable(4, 2);

        //设置表格的样式
        table.setTableAlignment(TableRowAlign.CENTER);

        // 设置名称
        // 设置名称
        XWPFTableCell cell = table.getRow(0).getCell(0);
        XWPFParagraph paragraph = cell.getParagraphs().get(0);
        if (paragraph == null) {
            paragraph = cell.addParagraph();
        }
        XWPFRun run = paragraph.createRun();
        run.setText("名称");
        run.setFontSize(12); // 设置字体大小为12


        table.getRow(0).getCell(1).setText("物业服务满意度2024年度调查");

        // 设置表头单元格的内容和样式
        // 垂直对齐
        table.getRow(0).getCell(0).setVerticalAlignment(XWPFTableCell.XWPFVertAlign.CENTER);
        // 设置颜色rgb值
        table.getRow(0).getCell(0).setColor("C0C0C0");
        // 水平对齐
        table.getRow(0).getCell(0).getParagraphs().get(0).setAlignment(ParagraphAlignment.CENTER);


        table.getRow(0).getCell(1).setVerticalAlignment(XWPFTableCell.XWPFVertAlign.CENTER);
//        table.getRow(0).getCell(1).setColor("C0C0C0");
        table.getRow(0).getCell(1).getParagraphs().get(0).setAlignment(ParagraphAlignment.CENTER);


        // 设置时间
//        table.getRow(1).getCell(0).setText("时间");
        // 设置名称
        XWPFTableCell cell2 = table.getRow(1).getCell(0);
        XWPFParagraph paragraph2 = cell2.getParagraphs().get(0);
        if (paragraph2 == null) {
            paragraph2 = cell2.addParagraph();
        }
        XWPFRun run2 = paragraph2.createRun();
        run2.setText("时间");
        run2.setFontSize(12); // 设置字体大小为12
        table.getRow(1).getCell(1).setText("2024-10-12 16:41:06至 202410-14 09:12:14");

        // 垂直对齐
        table.getRow(1).getCell(0).setVerticalAlignment(XWPFTableCell.XWPFVertAlign.CENTER);
        // 设置颜色rgb值
        table.getRow(1).getCell(0).setColor("C0C0C0");
        // 水平对齐
        table.getRow(1).getCell(0).getParagraphs().get(0).setAlignment(ParagraphAlignment.CENTER);

        // 设置发布者
        table.getRow(2).getCell(0).setText("发布者");
        table.getRow(2).getCell(1).setText("新物业");

        // 设置收集数
        table.getRow(3).getCell(0).setText("收集数");
        table.getRow(3).getCell(1).setText("4份");
    }

}
